// admin/login/login.js
const app = getApp();

Page({
  data: {
    username: '',
    password: '',
    isLoading: false
  },

  // 绑定输入
  onInput: function(e) {
    const { field } = e.currentTarget.dataset;
    this.setData({
      [field]: e.detail.value
    });
  },

  // 登录
  onLogin: function() {
    if (this.data.isLoading) return;
    if (!this.data.username || !this.data.password) {
      wx.showToast({
        title: '请输入用户名和密码',
        icon: 'none'
      });
      return;
    }

    this.setData({ isLoading: true });
    wx.showLoading({ title: '登录中...' });

    // 调用 `adminLogin` 云函数
    // 注意：这个云函数在您的项目中已存在，它会检查用户名和密码
    wx.cloud.callFunction({
      name: 'adminLogin',
      data: {
        username: this.data.username,
        password: this.data.password
      }
    }).then(res => {
      wx.hideLoading();
      this.setData({ isLoading: false });

      if (res.result && res.result.success) {
        // 登录成功
        wx.showToast({
          title: '登录成功',
          icon: 'success',
          duration: 1500
        });

        // 1. 在本地存储中设置一个已登录的标志
        wx.setStorageSync('isAdmin', true);
        
        // 2. 更新全局状态（用于“个人中心”页面的即时显示）
        app.globalData.isAdmin = true;

        // 3. 跳转到管理后台首页
        setTimeout(() => {
          wx.redirectTo({
            url: '/admin/dashboard/dashboard',
          });
        }, 1500);

      } else {
        // 登录失败
        wx.showToast({
          title: res.result.message || '登录失败',
          icon: 'none'
        });
      }
    }).catch(err => {
      wx.hideLoading();
      this.setData({ isLoading: false });
      wx.showToast({
        title: '调用失败，请重试',
        icon: 'none'
      });
      console.error('adminLogin调用失败', err);
    });
  }
});